<template>
  <div class="container" @click="handleGallaryClick">
    <div class="wrapper">
        <swiper :options="swiperOption" v-if="imgs">
          <swiper-slide v-for="(item, index) of imgs" :key="index">
            <img class="gallary-img" :src="item" alt="">
          </swiper-slide>
          <div class="swiper-pagination" slot="pagination"></div>
      </swiper> 
    </div>
  </div>
</template>
<script>
export default {
  name: 'CommonGallary',
  props: {
    imgs: {
      type: Array,
      default () {
        return []
      }
    }
  },
  data() {
    return {
      swiperOption: {
        pagination: '.swiper-pagination',
        paginationType: 'fraction',
        // 开始属于隐藏，显示后不能正常计算宽度  
        // swiper插件，监听到父级元素或者本元素发生dom结构变化，会自我刷新一次, 通过刷新，可以解决计算宽度的问题
        observeParents: true,
        observer: true
      }
    }
  },
  methods: {
    handleGallaryClick () {
      this.$emit('close')
    }
  }
}
</script>
<style lang="stylus" scoped>
  .container >>> .swiper-container
    overflow: inherit
  .container
    display: flex
    flex-direction: column
    justify-content: center 
    position: fixed 
    left: 0
    right: 0
    top: 0
    bottom: 0
    background: rgba(0, 0, 0, .7)
    z-index: 99
    .wrapper
      // overflow hidden
      height: 0
      width: 100%
      padding-bottom: 100%
      .gallary-img
        width: 100%
      .swiper-pagination
        color: #ffffff
        bottom: -1rem
</style>

